package it.eg.managedcor.interfaces;


/**
 * Marker interface representing a rollbackable task.
 * 
 * A <code>RollbackableTask</code> is a task that, implementing the method
 * {@link it.eg.managedcor.interfaces.Rollbackable#rollback(ProcessSessionData)}
 * is able to undo all the actions it performed in the method
 * {@link it.eg.managedcor.interfaces.Task#performTask(ProcessSessionData)}
 * 
 * @author Emanuele Gherardini
 *
 * @param <S>
 */
public interface RollbackableTask<S extends ProcessSessionData<? extends ProcessInput, ? extends ProcessOutput>> 
			extends Task<S>, Rollbackable<S> {

}
